Skip to content

Consolidate ProcessInParallel API#352

Merged
thomhurst merged 1 commit into
mainfrom
issue-333-consolidate-parallel-api
Jul 21, 2026
Merged

Consolidate ProcessInParallel API#352
thomhurst merged 1 commit into
mainfrom
issue-333-consolidate-parallel-api

Conversation

@thomhurst

Copy link
Copy Markdown
Owner

Summary

  • replace duplicate bounded/unbounded ProcessInParallel overload families with one optional maxConcurrency API across all builders
  • route positional and named concurrency limits through ParallelAsyncProcessor* and remove four duplicate non-timed rate-limited processor types
  • keep timed rate limiting separate and document parallel processing as one concept with an optional concurrency limit

Validation

  • full solution restore/build succeeds
  • 1,614 tests pass across net8.0, net9.0, and net10.0
  • local assembly inspection confirms the removed types are absent and the builder exposes one optional-limit plus one timed overload

Closes #333

@thomhurst
thomhurst force-pushed the issue-333-consolidate-parallel-api branch from 96744b0 to 3feffe0 Compare July 21, 2026 18:42
@greptile-apps

greptile-apps Bot commented Jul 21, 2026

Copy link
Copy Markdown

Greptile Summary

This PR consolidates parallel processing around one optional concurrency-limit API. The main changes are:

  • Replaces duplicate bounded and unbounded builder overloads.
  • Routes bounded calls through the existing parallel processors.
  • Keeps timed rate limiting as a separate overload.
  • Removes four redundant non-timed processor types.
  • Updates worker-pool tests and documentation.

Confidence Score: 5/5

No additional blocking issue was found for this follow-up.

  • The previously reported positional-boolean compatibility break remains covered by its existing comment.
  • No distinct failure requiring a separate fix was identified.

Important Files Changed

Filename Overview
EnumerableAsyncProcessor/Builders/ActionAsyncProcessorBuilder.cs Consolidates bounded and unbounded processing into an overload with an optional concurrency limit.
EnumerableAsyncProcessor/Builders/ActionAsyncProcessorBuilder_1.cs Applies the consolidated API to result-producing execution-count processing.
EnumerableAsyncProcessor/Builders/AsyncEnumerableActionAsyncProcessorBuilder_1.cs Applies the consolidated API to async-enumerable action processing.
EnumerableAsyncProcessor/Builders/AsyncEnumerableActionAsyncProcessorBuilder_2.cs Applies the consolidated API to async-enumerable result processing.
EnumerableAsyncProcessor/Builders/ItemActionAsyncProcessorBuilder_1.cs Routes bounded item processing through the main parallel processor.
EnumerableAsyncProcessor/Builders/ItemActionAsyncProcessorBuilder_2.cs Routes bounded result-producing item processing through the main parallel processor.
EnumerableAsyncProcessor.UnitTests/WorkerPoolBehaviourTests.cs Adds coverage for unified positional and named concurrency-limit behavior.
README.md Documents parallel processing as one API with an optional concurrency limit.

Reviews (5): Last reviewed commit: "refactor!: consolidate parallel API" | Re-trigger Greptile

Comment thread EnumerableAsyncProcessor/Builders/ActionAsyncProcessorBuilder.cs
@thomhurst
thomhurst force-pushed the issue-333-consolidate-parallel-api branch from 3feffe0 to 54f38da Compare July 21, 2026 18:50
@thomhurst
thomhurst force-pushed the issue-333-consolidate-parallel-api branch from 54f38da to 35813f7 Compare July 21, 2026 19:36
@thomhurst
thomhurst force-pushed the issue-333-consolidate-parallel-api branch from 35813f7 to 7211816 Compare July 21, 2026 19:44
Route positional and named concurrency limits through ParallelAsyncProcessor and remove the duplicate non-timed rate-limited processor types. Keep timed rate limiting separate and document one optional-limit API.
@thomhurst
thomhurst force-pushed the issue-333-consolidate-parallel-api branch from 7211816 to 9ea8230 Compare July 21, 2026 19:49
@thomhurst
thomhurst merged commit 8c0ac6f into main Jul 21, 2026
5 checks passed
@thomhurst
thomhurst deleted the issue-333-consolidate-parallel-api branch July 21, 2026 19:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

v4: Consolidate ProcessInParallel overloads into one API

1 participant